home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 1
/
Cream of the Crop 1.iso
/
UTILITY
/
NNANS592.ARJ
/
DRIVERS.INC
< prev
next >
Wrap
Text File
|
1991-06-06
|
10KB
|
365 lines
; display specific definitions follow. You will need to add to these to
; configure for unsupported display controllers.
; default generic graphics. USE THESE AS "TEMPLATES"
gmode_test macro isgraphic
; This macro is to jump if display is in an EGA/VGA 16 color
; "compatible" mode -- this means one which is a simple extension
; (more rows and/or columns) than modes 10h or 12h. At minimum
; modes 10h and 12h themselves qualify.
; No registers may be altered.
; Byte location "cs:video_mode" is a copy of byte 40:49H.
cmp cs:video_mode, 10h ; 640x350, 16 color mode
je isgraphic
cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
je isgraphic
endm
gmode_code macro
; this macro is used to tell if display is in graphics
; mode by looking at the byte 40:49H, which is in
; register AL at the start of the macro.
; It is to set location cs:gmode_flag non-zero if in a graphics mode.
; Value of 7 is reserved for the monochrome adapter.
; No registers may be altered.
; *NOTE* users of Paradise and possibly other VGA
; cards will need to modifify this routine because
; Paradise extended character modes set this byte to
; to the value of the mode you selected. Nicer cards
; (Genoa and VEGA, that I know of) leave this byte at
; "3" and all works fine!
mov cs:gmode_flag,0 ; assume character mode (zero flag)
cmp al, 4
jb not_graphics ; modes =>4 are assumed to be graphic
mov cs:gmode_flag,al ; non-zero value
not_graphics:
endm
IF PARA480
; From Arend van den Brug
card_id macro
db 'Paradise EGA 480'
endm
gmode_test macro isgraphic
cmp cs:video_mode, 10h ; 640x350, 16 color mode
je isgraphic
cmp cs:video_mode, 50h ; 640x480, 16 color EGA mode
je isgraphic
endm
gmode_code macro
mov cs:gmode_flag,0 ; assume character mode (zero flag)
cmp al, 4
jb not_graphics ; modes =>4 are assumed to be graphic
cmp al, 51h ; 51: 80x30 text 16 colors
je not_graphics
cmp al, 54h ; 54: 132x43 text 16 colors
je not_graphics
cmp al, 55h ; 55: 132x25 text 16 colors
je not_graphics
mov cs:gmode_flag,al ; non-zero value
not_graphics:
endm
ENDIF
IF PARADISE
card_id macro
db 'Paradise VGA'
endm
gmode_test macro isgraphic
cmp cs:video_mode, 10h ; 640x350, 16 color mode
je isgraphic
cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
je isgraphic
cmp cs:video_mode, 58h ; 800x600, 16 color
je isgraphic
endm
gmode_code macro
mov cs:gmode_flag,0 ; assume character mode (zero flag)
cmp al, 4
jb not_graphics ; modes =>4 are assumed to be graphic
cmp al, 54h ; modes 54 and 55 are text!
je not_graphics
cmp al, 55h
je not_graphics
mov cs:gmode_flag,al ; non-zero value
not_graphics:
endm
ENDIF
IF TSENG4000
card_id macro
db 'TSENG LABS 4000'
endm
gmode_test macro isgraphic
cmp cs:video_mode, 10h ; 640x350, 16 color mode
je isgraphic
cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
je isgraphic
cmp cs:video_mode, 29h ; 800x600, 16 color
je isgraphic
endm
gmode_code macro
mov cs:gmode_flag,0 ; assume character mode (zero flag)
cmp al, 4
jb not_graphics ; modes =>4 are assumed to be graphic
cmp al, 22h ; 132x44, 25, 28
jb is_graphics
cmp al, 24h
jbe not_graphics
cmp al, 26h ; 80x60
je not_graphics
cmp al, 2Ah ; 100x40
je not_graphics
is_graphics:
mov cs:gmode_flag,al ; non-zero value
not_graphics:
endm
ENDIF
IF ATT600
card_id macro
db 'AT&T VDC600'
endm
gmode_test macro isgraphic
cmp cs:video_mode, 10h ; 640x350, 16 color mode
je isgraphic
cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
je isgraphic
cmp cs:video_mode, 47h ; 800x600, 16 color
je isgraphic
endm
gmode_code macro
mov cs:gmode_flag,0 ; assume character mode (zero flag)
cmp al, 4
jb not_graphics ; modes >=4 are assumed to be graphic
cmp al, 54h ; modes 54 and 55 are text!
je not_graphics
cmp al, 55h
je not_graphics
mov cs:gmode_flag,al ; non-zero value
not_graphics:
endm
ENDIF
IF STBVGA
card_id macro
db 'STB VGA Extra'
endm
gmode_test macro isgraphic
cmp cs:video_mode, 10h ; 640x350, 16 color mode
je isgraphic
cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
je isgraphic
endm
gmode_code macro
mov cs:gmode_flag,0 ; assume character mode (zero flag)
cmp al, 4
jb not_graphics ; modes >=4 are assumed to be graphic
cmp al, 22h ; modes 22 and 23 are text!
je not_graphics
cmp al, 23h
je not_graphics
mov cs:gmode_flag,al ; non-zero value
not_graphics:
endm
ENDIF
IF TVGA16
card_id macro
db 'Tatung VGA-16'
endm
gmode_test macro isgraphic
cmp cs:video_mode, 10h ; 640x350, 16 color mode
je isgraphic
cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
je isgraphic
endm
gmode_code macro
mov cs:gmode_flag,0 ; assume character mode (zero flag)
cmp al, 4
jb not_graphics ; modes >=4 are assumed to be graphic
cmp al, 56h ; modes 56 and 57 are text!
jb not_graphics
cmp al, 57h
jb not_graphics
mov cs:gmode_flag,al ; non-zero value
not_graphics:
endm
ENDIF
IF VEGA
card_id macro
db 'Video-Seven/Headland VGA'
endm
gmode_test macro isgraphic
cmp cs:video_mode, 10h ; 640x350, 16 color mode
je isgraphic
cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
je isgraphic
cmp cs:video_mode, 14h ; 752x410
je isgraphic
cmp cs:video_mode, 15h ; 720x540
je isgraphic
cmp cs:video_mode, 16h ; 800x600
je isgraphic
endm
gmode_code macro
mov cs:gmode_flag,0 ; assume character mode (zero flag)
cmp al, 4
jb not_graphics ; modes >=4 are assumed to be graphic
mov cs:gmode_flag,al ; non-zero value
not_graphics:
endm
ENDIF
IF EGAWIZ
card_id macro
db 'EGA Wizard Deluxe'
endm
gmode_test macro isgraphic
cmp cs:video_mode, 10h ; 640x350, 16 color mode
je isgraphic
cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
je isgraphic
cmp cs:video_mode, 26h ; 640x480, 60 line
je isgraphic
cmp cs:video_mode, 70h ; 740x396
je isgraphic
cmp cs:video_mode, 71h ; 800x600
je isgraphic
endm
gmode_code macro
mov cs:gmode_flag,0 ; assume character mode (zero flag)
cmp al, 4
jb not_graphics ; modes >=4 are assumed to be graphic
cmp al, 22h ; 22-24 are nongraphic
jb is_graphics
cmp al, 24h
jbe not_graphics
cmp al, 32h ; 32-34 are nongraphic
jb is_graphics
cmp al, 34h
jbe not_graphics
cmp al, 38h ; 38 is nongraphic
je not_graphics
is_graphics:
mov cs:gmode_flag,al ; non-zero value
not_graphics:
endm
ENDIF
IF TridentVGA
card_id macro
db 'Trident VGA'
endm
; contributed by Nadav Horesh CFNADAV%WEIZMANN.BITNET@CUNYVM.CUNY.EDU
gmode_test macro isgraphic
cmp cs:video_mode, 10h ; 640x350, 16 color mode
je isgraphic
cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
je isgraphic
cmp cs:video_mode, 5bh ; 800x600, 16 color TVGA mode
je isgraphic
cmp cs:video_mode, 5fH ; 1024x768 16 color TVGA mode
jnb isgraphic
endm
gmode_code macro
mov cs:gmode_flag,0 ; assume character mode (zero flag)
cmp al, 4
jb not_graphics ; modes >=4 are assumed to be graphic
cmp al, 050H
jb is_graphics
cmp al, 5Bh
jb not_graphics
is_graphics:
mov cs:gmode_flag,al ; non-zero value
not_graphics:
endm
ENDIF
IF MAGICVGA
; Contributed by:
;In-Real-Life: Andrew A. Chernov | Domain: ache@hq.demos.su,
;Zodiac-Sign: Virgo | ache%hq.demos.su@relay.eu.net
;Organization: DEMOS Coop., | Phone: +7 095 2312129
; Moscow, Russia | Fax: +7 095 2335016
card_id macro
db 'Magic VGA'
endm
gmode_test macro isgraphic
cmp cs:video_mode, 10h ; 640x350, 16 color mode
je isgraphic
cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
je isgraphic
cmp cs:video_mode, 63h ; 720x540, 16 color
je isgraphic
cmp cs:video_mode, 64h ; 800x600, 16 color
je isgraphic
endm
gmode_code macro
mov cs:gmode_flag,0 ; assume character mode (zero flag)
cmp al, 4
jb not_graphics ; modes =>4 are assumed to be graphic
cmp al, 40h ; modes 40-43 are text!
je not_graphics
cmp al, 41h
je not_graphics
cmp al, 42h
je not_graphics
cmp al, 43h
je not_graphics
cmp al, 50h ; modes 50-53 are text!
je not_graphics
cmp al, 51h
je not_graphics
cmp al, 52h
je not_graphics
cmp al, 53h
je not_graphics
mov cs:gmode_flag,al ; non-zero value
not_graphics:
endm
ENDIF
IF CHIPS
; From Arend van den Brug
card_id macro
db 'Chips SVGA'
endm
gmode_test macro isgraphic
cmp cs:video_mode, 10h ; 640x350, 16 color mode
je isgraphic
cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
je isgraphic
cmp cs:video_mode, 6Ah ; 800x600, 16 color
je isgraphic
cmp cs:video_mode, 70h ; 800x600, 16 color
je isgraphic
endm
gmode_code macro
mov cs:gmode_flag,0 ; assume character mode (zero flag)
cmp al, 4
jb not_graphics ; modes >=4 are assumed to be graphic
cmp al, 60h ; 60: 132x25 text 16 colors (char 8x14)
jb is_graphics ; 61: 132x50 text 16 colors (char 8x8)
cmp al, 62h ; 62: 132x43 text 16 colors (char 8x8)
jbe not_graphics
cmp al, 64h ; 80x43 text 16 colors (char 9x8)
je not_graphics
cmp al, 65h ; 80x50 text 16 colors (char 9x8)
je not_graphics
is_graphics:
mov cs:gmode_flag,al ; non-zero value
not_graphics:
endm
ENDIF